import { IPSDataEntityObject } from '../ipsdata-entity-object';
import { IPSLanguageRes } from '../../res/ipslanguage-res';
import { IPSSysImage } from '../../res/ipssys-image';

/**
 *
 * 子接口类型识别属性[]
 * @export
 * @interface IPSDEDataRelation
 */
export interface IPSDEDataRelation extends IPSDataEntityObject {
  /**
   * 代码标识
   * @type {string}
   */
  codeName: string;

  /**
   * 编辑项标题语言资源
   *
   * @type {IPSLanguageRes}
   */
  getFormCapPSLanguageRes(): IPSLanguageRes | null;

  /**
   * 编辑项标题语言资源
   *
   * @type {IPSLanguageRes}
   */
  get formCapPSLanguageRes(): IPSLanguageRes | null;

  /**
   * 编辑项标题语言资源（必须存在）
   *
   * @type {IPSLanguageRes}
   */
  getFormCapPSLanguageResMust(): IPSLanguageRes;

  /**
   * 编辑项标题
   * @type {string}
   */
  formCaption: string;

  /**
   * 编辑项图标资源
   *
   * @type {IPSSysImage}
   */
  getFormPSSysImage(): IPSSysImage | null;

  /**
   * 编辑项图标资源
   *
   * @type {IPSSysImage}
   */
  get formPSSysImage(): IPSSysImage | null;

  /**
   * 编辑项图标资源（必须存在）
   *
   * @type {IPSSysImage}
   */
  getFormPSSysImageMust(): IPSSysImage;

  /**
   * 默认隐藏编辑项
   * @type {boolean}
   */
  hideEditItem: boolean;
}
